package com.bitejiuyeke.job_publish.common;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 分页响应
 *
 * @Author 比特就业课
 */
@Data
@NoArgsConstructor
public class PageResult<T> {
    private Integer pageNum; // 当前页号
    private Integer pageSize; // 每页记录数
    private Integer totalRecord; // 总记录数
    private Integer totalPage; // 总页数
    private List<T> rows; // 分页数据

    /**
     * 构造方法，自动计算总页数
     * @param pageNum 当前页号
     * @param pageSize 每页记录数
     * @param totalRecord 总记录数
     */
    public PageResult(Integer pageNum, Integer pageSize, Integer totalRecord) {
        this.pageNum = pageNum; // 当前页号
        this.pageSize = pageSize; // 每页记录数
        this.totalRecord = totalRecord; // 总记录数
        // 总页数
        if (this.totalRecord == 0) {
            this.totalPage = 0;
        } else {
            if (this.totalRecord % this.pageSize == 0) {
                this.totalPage = this.totalRecord / this.pageSize;
            } else {
                this.totalPage = (this.totalRecord / this.pageSize) + 1;
            }
        }
    }
}
